<?php

require_once(BaseConfig::LoadClass('sesion.class.php'));
require_once(BaseConfig::LoadClass('imagen.class.php'));
require_once(BaseConfig::LoadClass('vars.class.php'  ));

$oSesion = new Sesion();
error_reporting(0);
if((!$oSesion->oUsuario->intIdUsuario) || ($oSesion->oUsuario->strTipo != "Admin")) {
  // No se ha logueado o se està logueado como algo que no es administrador
  $oSesion->Logout();  // Cerrarles la sesion
  eval('$strPagina = "' . $oTemplate->Get('admin_login.tpl.php') . '";');
  die($strPagina);
}

$intW = $_GET["w"];
$intH = $_GET["h"];

$strImg = $_GET["img"];

$intWImg = $intHImg = 1;
if($strImg) {
  $oImagen = new Imagen();
  $oImagen->AbrirDesdeURL($strImg);
  $intWImg = $oImagen->intW;
  $intHImg = $oImagen->intH;
  
  if(!$intWImg || !$intHImg) {
    $intWImg = $intHImg = 1;
  } else {
    if($_GET["resize"] == "1") {
      // Ya se pidió crear el resized
      // Checar si se requiere hacer el resize
      if(($_GET["srcw"] > 0) && ($_GET["srch"] > 0)) {
        $strNombreImagenA = "rs_{$intW}x{$intH}_" . substr($oImagen->strNombre, 0, (strlen($oImagen->strExtension) + 1) * -1) . ".png";
        if(file_exists($strGPath . '/' . $strGUploads . '/resized/' . $intW . 'x' . $intH . '/' . $strNombreImagenA)) {
          $intIndiceA = 1;
          while($intIndiceA) {
            $strNombreImagenA = "rs_{$intW}x{$intH}_" . substr($oImagen->strNombre, 0, (strlen($oImagen->strExtension) + 1) * -1) . "_{$intIndiceA}.png";
            $intIndiceA++;
            if(!file_exists($strGPath . '/' . $strGUploads . '/resized/' . $intW . 'x' . $intH . '/' . $strNombreImagenA)) {
              $intIndiceA = 0;
              break;
            }
          }
        }
        $strImagenSubida = $oImagen->CropImg($_GET["srcx"], $_GET["srcy"], $_GET["srcw"], $_GET["srch"], $intW, $intH, $strNombreImagenA);
        $strNombreImagen = $strGUrl . '/' . $strGUploads . '/resized/' . $strImagenSubida;
      } else {
        $strNombreImagen = $oImagen->strURL;
      }
?>
<script>
  opener.document.getElementById("<?= $_GET["id"] ?>").value = "<?= $strNombreImagen ?>";
  if(opener.document.getElementById("liga_<?= $_GET["id"] ?>")) {
    opener.document.getElementById("liga_<?= $_GET["id"] ?>").innerHTML = "<?= $strNombreImagen ?>";
    opener.document.getElementById("liga_<?= $_GET["id"] ?>").href = "<?= $strNombreImagen ?>";
  }
  if(opener.document.getElementById("img_<?= $_GET["id"] ?>")) {
    opener.document.getElementById("img_<?= $_GET["id"] ?>").src = "<?= $strNombreImagen ?>";
  }
  window.close();
</script>
<?php
      die();
    }
  }
}

?>
<html>
  <head>
    <title>Administracion - Seleccionar imagen</title>
    
    <?= $oTemplate->GetExtraFiles(); ?>
    
    <script language="Javascript">
      var intImgW = 0;
      var intImgH = 0;
      var intImgX = 0;
      var intImgY = 0;
      var rsImgCr = 0;
      
      jQuery(window).load(function() {
        var ratio = <?= $intW ?> / <?= $intH ?>;
        jQuery('#cropbox').Jcrop({
          onChange   : showPreview,
          onSelect   : showPreview,
          aspectRatio: ratio
        });
      });

      function showPreview(coords) {
        if (parseInt(coords.w) > 0) {
          rsImgCr = coords;
          var rx = <?= $intW ?> / coords.w;
          var ry = <?= $intH ?> / coords.h;
          
          intImgW = Math.round(rx * <?= $intWImg ?>);
          intImgH = Math.round(ry * <?= $intHImg ?>);
          intImgX = Math.round(rx * coords.x);
          intImgY = Math.round(ry * coords.y);

          jQuery('#preview').css({
            width     : intImgW + 'px',
            height    : intImgH + 'px',
            marginLeft: '-' + intImgX + 'px',
            marginTop : '-' + intImgY + 'px'
          });
        }
      }
      
      function CortarImagen() {
        document.location.href = '<?= $strGUrl ?>/index.php?option=select_image&w=<?= $intW ?>&h=<?= $intH ?>&id=<?= $_GET["id"] ?>&resize=1&srcw=' + rsImgCr.w + '&srch=' + rsImgCr.h + '&srcx=' + rsImgCr.x + '&srcy=' + rsImgCr.y + '&img=' + document.getElementById("contenedorImagen").value;
      }
      
      function insert_url_callback() {
        document.location.href = '<?= $strGUrl ?>/index.php?option=select_image&w=<?= $intW ?>&h=<?= $intH ?>&id=<?= $_GET["id"] ?>&img=' + document.getElementById("contenedorImagen").value;
      }
    </script>
  </head>
  <body>
    <input type="hidden" id="contenedorImagen" value="<?= $strImg ?>" />
    <table class="TablaReportes" border="1">
      <tr>
        <th colspan="2">Selecci&oacute;n de imagen de dimensi&oacute;nes <?= $intW ?> X <?= $intH ?></th>
      </tr>
      <tr>
        <th width="50%">
          <input type="button" value="Seleccionar imagen" onclick="openSwampyBrowser('contenedorImagen', '', 'image', window);" />
        </th>
        <th width="50%">
          <input type="button" value="Insertar imagen" onclick="CortarImagen();" />
        </th>
      </tr>
      <tr>
        <td valign="top">
          <img id="cropbox" src="<?= $strImg ?>" />
        </td>
        <td valign="top">
          <div style="width:<?= $intW ?>px;height:<?= $intH ?>px;overflow:hidden;">
            <img id="preview" src="<?= $strImg ?>" />
          </div>
        </td>
      </tr>
    </table>
  </body>
</html>